package fifth.this关键字;
/*
构造方法在实例化一对象的时候自动调用
也就是说
在类中的所有的方法里面 只有构造方法是优先调用的
所以this调用构造方法只能放在构造方法的第一行

另外 对于this调用构造方法 一定要留一个构造方法作为出口
即程序中至少存在一个构造方法是不使用this调用其他构造方法的
 */
class Demo {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    public Demo(String name, int age) {
        this();// 有参构造中调用无参构造 要放在构造方法的首行
        this.name = name;
        this.age = age;
    }
    public Demo() {
        System.out.println("这是一个无参构造");
    }
    public String getInfo() {
        return "姓名：" + getName() + " 年龄：" + getAge();
    }
}

public class this的位置 {
    public static void main(String[] args) {
        Demo o = new Demo("唐三藏", 18);
        System.out.println(o.getInfo());
    }
}
